#include <stdio.h>
#include "crash_dump_linux.h"

void func_c(int value) {
	int* null_ptr = NULL;
	null_ptr[value] = value; // 崩溃点（第 113 行）
}

void func_b(int value) {
	func_c(value * 2); // 调用 func_c（第 117 行）
}

void func_a(int value) {
	func_b(value + 3); // 调用 func_b（第 121 行）
}

int main(int /*argc*/, char * argv[]) {
	// 初始化崩溃处理器（必须在程序启动初期调用）
	CRASHDMP_CPP::init_crash_handler(argv[0]);

	puts("Program started...\n");
	puts("Target= crash_log_xxx.txt\n");

	// 触发崩溃（函数调用链：main -> func_a -> func_b -> func_c）
	func_a(10);

	return 0;
}
